#define _CRT_SECURE_NO_WARNINGS 1


//#include <stdio.h>
//
//struct S
//{
//	int a;
//	char b;
//	double c;
//};
//
//#define OFFSETOF(a,b) (int)&(((a*)0)->b)
//
//int main()
//{
//	printf("%d\n", OFFSETOF(struct S, a));
//	printf("%d\n", OFFSETOF(struct S, b));
//	printf("%d\n", OFFSETOF(struct S, c));
//	return 0;
//}



#include <stdio.h>

#define SWAP(n) n=(((n&0xaaaaaaaa)>>1) + ((n&0x55555555)<<1))

int main()
{
	int n = 13;
	printf("%d", SWAP(n));
	return 0;
}